package capaModelo;

import java.io.Serializable;
import java.util.AbstractMap;
import java.util.HashMap;

import main.Aplication;
import capaGrafica.Listado_V;
import capaGrafica.Login_V;
import capaGrafica.Usuario_V;
import capaPersistencia.ModuloProductos;
import capaPersistencia.ModuloUsuarios;
import data.Cesta;
import data.UsuarioVO;


public class Usuario_M implements Modelo{
	public void pressed(int code, AbstractMap<String,Serializable> data){
		ModuloProductos miModuloProductos = new ModuloProductos();
		HashMap<String,Serializable> datos = new HashMap<String,Serializable>();
		switch(code){
		case(Usuario_V.BTN_CANCEL):
			datos.put("productos", miModuloProductos.ordenarProductosNombre());
			Aplication.changeToWindow(new Listado_V(), datos);
			break;
			
		case(Usuario_V.BTN_CONFIRM):
			ModuloUsuarios miModulo = new ModuloUsuarios();
			miModulo.modificarUsuario(new UsuarioVO((String)data.get("user"),
					new String((char[])data.get("pass")),(String) data.get("name"), (String)data.get("ciudad"), 
					null, null, (String)data.get("direccion"), (String)data.get("email")));
			Aplication.actualWindow.change(Usuario_V.USER_MODIFIED, null);
			break;
		case(Usuario_V.MENU_LOGOUT):
			/*
			 * Limpiar datos del usuario que se deslogea
			 */
			Aplication.logedUser=null;
			Aplication.cesta = new Cesta();
			
			/*
			 * Cambiar a ventana de login */
			Aplication.changeToWindow(new Login_V(), null);
			break;
			
		case(Usuario_V.MENU_LISTADO):
			datos.put("productos", miModuloProductos.ordenarProductosNombre());
			Aplication.changeToWindow(new Listado_V(), datos);
			break;
		}
	}
}
